package com.bdhub.tools;

import com.bdhub.im.server.protobuf.MessageProtobuf.CMsg;

import java.util.Map;

/**
 * 消息转换器
 * @author lp
 *
 */
public final class MessageConvert {
   private MessageConvert(){}
   /**
    * 消息转码
    * @param message
    */
   public static CMsg messageDecoding(CMsg message){
	   String encoder="encoder";
	    if(!StringUtil.isBlank(message.getHead().getComments()) && message.getHead().getComments().indexOf(encoder)!=-1){
	    	Map<String,Object> params=JsonUtils.getMapByJsonStr(message.getHead().getComments());
	    	if(params.containsKey(encoder)){
	    		//获取压缩算法
	    		encoder= params.get(encoder).toString();
	    		if("gzip".equals(encoder)){//是否启用gzip压缩算法
					String body= message.getBody();
					message=message.toBuilder().setBody(MessageGZIP.uncompressToString(body)).build();
					return message;
				}
	    	}
	    	
	    }
	  return message;	
   }
}
